31 research outputs found

    Locality-aware parallel block-sparse matrix-matrix multiplication using the Chunks and Tasks programming model

    Full text link
    We present a method for parallel block-sparse matrix-matrix multiplication on distributed memory clusters. By using a quadtree matrix representation, data locality is exploited without prior information about the matrix sparsity pattern. A distributed quadtree matrix representation is straightforward to implement due to our recent development of the Chunks and Tasks programming model [Parallel Comput. 40, 328 (2014)]. The quadtree representation combined with the Chunks and Tasks model leads to favorable weak and strong scaling of the communication cost with the number of processes, as shown both theoretically and in numerical experiments. Matrices are represented by sparse quadtrees of chunk objects. The leaves in the hierarchy are block-sparse submatrices. Sparsity is dynamically detected by the matrix library and may occur at any level in the hierarchy and/or within the submatrix leaves. In case graphics processing units (GPUs) are available, both CPUs and GPUs are used for leaf-level multiplication work, thus making use of the full computing capacity of each node. The performance is evaluated for matrices with different sparsity structures, including examples from electronic structure calculations. Compared to methods that do not exploit data locality, our locality-aware approach reduces communication significantly, achieving essentially constant communication per node in weak scaling tests.Comment: 35 pages, 14 figure

    Higher order derivatives of matrix functions

    Full text link
    We present theory for general partial derivatives of matrix functions on the form f(A(x))f(A(x)) where A(x)A(x) is a matrix path of several variables (x=(x1,…,xj)x=(x_1,\dots,x_j)). Building on results by Mathias [SIAM J. Matrix Anal. Appl., 17 (1996), pp. 610-620] for the first order derivative, we develop a block upper triangular form for higher order partial derivatives. This block form is used to derive conditions for existence and a generalized Dalecki\u{i}-Kre\u{i}n formula for higher order derivatives. We show that certain specializations of this formula lead to classical formulas of quantum perturbation theory. We show how our results are related to earlier results for higher order Fr\'echet derivatives. Block forms of complex step approximations are introduced and we show how those are related to evaluation of derivatives through the upper triangular form. These relations are illustrated with numerical examples.Comment: 24 pages, 2 figure

    Canonical density matrix perturbation theory

    Full text link
    Density matrix perturbation theory [Niklasson and Challacombe, Phys. Rev. Lett. 92, 193001 (2004)] is generalized to canonical (NVT) free energy ensembles in tight-binding, Hartree-Fock or Kohn-Sham density functional theory. The canonical density matrix perturbation theory can be used to calculate temperature dependent response properties from the coupled perturbed self-consistent field equations as in density functional perturbation theory. The method is well suited to take advantage of sparse matrix algebra to achieve linear scaling complexity in the computational cost as a function of system size for sufficiently large non-metallic materials and metals at high temperatures.Comment: 21 pages, 3 figure
    corecore